#pragma once
#include "ValMgr.h"
#include "FuncMgr.h"
#include "RegDef.h"

#define CVR(reg_name)  cmd_val(cmd_val::REGISTER, reg_name, 0)
#define CVI(integer)    cmd_val(cmd_val::INTEGER,0,integer)
extern ValMgr* RootValMgr;
extern ValMgr* CurrentValMgr;
extern FuncMgr* CurrentFuncMgr;
extern map<string, FuncMgr>function_codes;

#define GENASM(a,b,c) CurrentFuncMgr->code_list.push_back(cmd_code(a, b, c));
void Global_Module_Initialize();
void Global_Module_Unload(); 
bool Function_Analyze_Initialize(string name);